package com.weishuang.monitor.leader.entity;

import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * <p>
 * 
 * </p>
 *
 * @author weishuang
 * @since 2021-04-19
 */
@Data
@EqualsAndHashCode(callSuper = false)
public class ServerProcessInfo implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 服务器ID
     */
    private String sysId;

    /**
     * 进程ID
     */
    private Long processId;

    /**
     * 父级进程ID
     */
//    private Long parentProcessId;

    /**
     * 进程名称
     */
    private String name;

    /**
     * 进程路径
     */
    private String path;

    /**
     * 命令
     */
    private String commandLine;

    /**
     * 工作目录
     */
    private String currentWorkingDirectory;

    /**
     * 用户
     */
    private String user;

    /**
     * 用户id
     */
    private String userId;

//    /**
//     * 组
//     */
//    private String group;
//
//    /**
//     * 组Id
//     */
//    private String groupId;

    /**
     * 使用线程数量
     */
    private Integer threadCount;

//    /**
//     * 进程执行优先级
//     */
//    private Integer priority;

    /**
     * 虚拟内存大小
     */
//    private Long virtualSize;

    /**
     * 占用内存大小（不包括交换）
     */
    private Long residentSetSize;

    /**
     * 内存总量、冗余字段
     */
    private Long ramTotal;

    /**
     * 进程执行的毫秒数
     */
    private Long kernelTime;

    /**
     * 使用的用户时间
     */
    private Long userTime;

    /**
     * 启动运行的时间 毫秒
     */
    private Long upTime;

    /**
     * 开始时间，1970
     */
    private Long startTime;

    /**
     * 读取字节数
     */
    private Long bytesRead;

    /**
     * 写字节数
     */
    private Long bytesWritten;

    /**
     * 打开文件或网络数
     */
    private Long openFiles;

    /**
     * 累计cpu占用率
     */
    private BigDecimal processCpuLoadCumulative;


}
